home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / dviware / quicspool / wwfonts / titalp.mf < prev    next >
Text File  |  1990-10-01  |  6KB  |  115 lines

  1. % $Header: titalp.mf,v 1.1 88/01/15 13:15:05 simpson Rel $
  2. % $Log:    titalp.mf,v $
  3. %Revision 1.1  88/01/15  13:15:05  simpson
  4. %initial release
  5. %
  6. %Revision 0.1  87/12/11  19:01:34  simpson
  7. %beta test
  8. %
  9. % This file contains `\$' and `\&' and `?' in the so-called italic style.
  10.  
  11. % Codes \0044, \0046, and \0077 are generated, as well as code |spanish_query|
  12. % (for a Spanish question mark) if that code value is known.
  13.  
  14. cmchar "Dollar sign";
  15. beginchar("$",9u#,body_height#,body_height#-asc_height#);
  16. italcorr fig_height#*slant-.5u#; % same as for digits
  17. adjust_fit(0,0);
  18. numeric theta; theta=90-angle(50u,asc_height); slope:=-asc_height/50u;
  19. pickup fine.nib; pos2(slab,-90);
  20. pos0(cap_stem,theta); pos7(slab,-90);
  21. x2=x0=x7=.5w; top y2l=asc_height+oo; bot y7r=-oo;
  22. y0=.52asc_height; lft x3l=hround u; rt x6r=hround(w-u);
  23. x3r-x3l=x6r-x6l=hround .35[slab,cap_stem]-fine;
  24. ellipse_set(2l,3l,4l,0l); ellipse_set(2r,3r,4r,0r); y3=y3r;
  25. ellipse_set(7l,6l,5l,0l); ellipse_set(7r,6r,5r,0r); y6=y6r;
  26. filldraw stroke super_arc.e(2,3) & z3e{down}
  27.  ..z4e---z5e..z6e{down} & super_arc.e(6,7);  % main stroke
  28. if serifs: pos1(hair,0); pos8(hair,180);
  29.  pos10(flare,0); pos9(flare,180);
  30.  rt x1r=hround(w-u); lft x8r=hround u; y1=.5[y0,y2]; y8=.5[y0,y7];
  31.  {{less_tense; pos2'(slab,90); z2'=z2; bulb(2',1,10);  % upper arc and bulb
  32.  bulb(7,8,9)}};  % lower arc and bulb
  33. else: pos1(.6[slab,flare],-100); pos8(flare,-100);
  34.  rt x1l=hround(w-1.3u); lft x8r=hround .8u;
  35.  top y1l=vround .92asc_height+oo; bot y8r=vround .1asc_height-oo;
  36.  filldraw stroke term.e(2,1,right,.9,4);  % upper arc and terminal
  37.  filldraw stroke term.e(7,8,left,1,4); fi  % lower arc and terminal
  38. pickup crisp.nib; pos12(bar,0); pos11(bar,0);
  39. lft x12l=lft x11l=hround(.5w-.5bar); top y12=h; bot y11=-d;
  40. filldraw stroke z12e--z11e;  % vertical crossbar
  41. penlabels(0,1,2,3,4,5,6,7,8,9,10,11,12); endchar;
  42.  
  43. cmchar "Italic ampersand";
  44. beginchar("&",14u#,asc_height#,0);
  45. italcorr asc_height#*slant-1.5u#;
  46. adjust_fit(if monospace:-u#,-2u# else: 0,0 fi); pickup fine.nib;
  47. pos1(flare,0); pos2(hair,0); pos3(vair,90);
  48. rt x2r=hround.5w; x3=1/3(w-u);
  49. top y3r=h+o; y2=.5[x_height,h]; bulb(3,2,1);  % left bulb
  50. pos4(stem,180); pos5(vair,270); pos6(hair,360); pos7(vair,450);
  51. pos8(curve,540); pos9(vair,630); pos10(hair,720);
  52. lft x4r=hround 1.25u; x5=x7=x3+1/6u; rt x6r=hround(x5+1.5u);
  53. lft x8r=hround u; x9=.5w; rt x10r=hround(w-1.5u);
  54. y4=.5[y3,y5]; top y5l=vround .77x_height; y6=.5[y5,y7];
  55. y7l=good.y 1/3[y5,y3]; y8=.5[y7,y9]; bot y9r=-o; y10=bar_height;
  56. pos12(hair,0); pos13(curve,0); pos14(hair,0); pos15(vair,90); pos16(curve,90);
  57. rt x12r=rt x13r=hround(w-2u); lft x14l=hround(.5w+.5u);
  58. x15=x16=rt x14r+u;
  59. y12=y13=h-.5curve; y14=.5[bar_height,x_height];
  60. bot y15l=bot y16l=vround y10;
  61. numeric theta; theta=angle((z12-z14)xscaled 2);
  62. pos11(hair,theta); x11=w-4u; y11=.5[y13,y16];
  63. filldraw stroke pulled_arc.e(3,4) & pulled_arc.e(4,5) & pulled_arc.e(5,6)
  64.  & pulled_arc.e(6,7) & pulled_arc.e(7,8) & pulled_arc.e(8,9)
  65.  & {{interim superness:=more_super; pulled_arc.e(9,10)}}
  66.  ..tension .9 and 1..{dir(theta+100)}z11e;  % bowls, loop, and stem
  67. pos11'(hair,theta-90); z11'=z11;
  68. forsuffixes $=l,r: path p$;
  69.  p$=z12${down}..z11'${-dir theta}..{down}z14$...{right}z15$; endfor
  70. filldraw p.l--reverse p.r--cycle;  % arms
  71. path q[]; q1=z13r{up}..z13l{down}..cycle;
  72. q2=z16l{right}..z16r{left}..cycle;
  73. filldraw subpath(0,ypart(p.l intersectiontimes q1)) of q1--cycle; % upper bulb
  74. filldraw subpath(0,ypart(p.r intersectiontimes q2)) of q2--cycle; % lower bulb
  75. penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); endchar;
  76.  
  77. cmchar "Italic question mark";
  78. beginchar("?",9u#,asc_height#,0);
  79. italcorr asc_height#*slant-u#;
  80. adjust_fit(0,0); pickup tiny.nib; pos10(dot_size,0); pos11(dot_size,90);
  81. lft x10l=hround(.5w-.5dot_size); bot y11l=0; z10=z11; dot(10,11);  % dot
  82. pickup fine.nib; pos1(flare,180); pos2(hair,180); pos3(vair,90);
  83. lft x1r=hround u; x3=.5w;
  84. y1-.5flare=x_height; top y3r=h+o; bulb(3,2,1); % bulb
  85. pos8(vair,-90); x8=.5w; bot y8r=.25[top y11r,x_height]+1;
  86. numeric theta; theta=90+angle(10u,y3-y8); slope:=(y3-y8)/10u;
  87. pos3'(vair,-90); z3'=z3; pos0(vstem,theta); x0=x3; y0=1/3[y8,y3];
  88. rt x4l=hround(w-1.5u); lft x7r=hround 1/3w;
  89. x4l-x4r=x7l-x7r=hround .5[vair,vstem]-fine;
  90. ellipse_set(3'l,4l,5l,0l); ellipse_set(3'r,4r,5r,0r); y4=y4r;
  91. ellipse_set(8l,7l,6l,0l); ellipse_set(8r,7r,6r,0r); y7=y7r;
  92. pos9(hair,0); rt x9r=hround(2/3w+.5hair); y9=good.y .5[y8,y0];
  93. filldraw stroke super_arc.e(3',4) & z4e{down}
  94.  ..z5e---z6e..z7e{down} & super_arc.e(7,8)...{up}z9e;  % main stroke
  95. penlabels(0,1,2,3,4,5,6,7,8,9,10,11); endchar;
  96.  
  97. iff known spanish_query: cmchar "Spanish open italic question mark";
  98. beginchar(spanish_query,9u#,asc_height#-desc_depth#,desc_depth#);
  99. adjust_fit(0,0); pickup tiny.nib; pos10(dot_size,0); pos11(dot_size,90);
  100. lft x10l=hround(.5w-.5dot_size); top y11r=h; z10=z11; dot(10,11);  % dot
  101. pickup fine.nib; pos1(flare,0); pos2(hair,0); pos3(vair,-90);
  102. rt x1r=hround(w-u); x3=.5w; y1+.5flare=asc_height-x_height-d;
  103. bot y3r=-d-o; bulb(3,2,1); % bulb
  104. pos8(vair,90); x8=.5w; top y8r=.25[bot y11l,y1+.5flare]-1;
  105. numeric theta; theta=angle(10u,y8-y3)-90; slope:=(y8-y3)/10u;
  106. pos3'(vair,90); z3'=z3; pos0(vstem,theta); x0=x3; y0=1/3[y8,y3];
  107. lft x4l=hround 1.5u; rt x7r=hround 2/3w;
  108. x4r-x4l=x7r-x7l=hround .5[vair,vstem]-fine;
  109. ellipse_set(3'l,4l,5l,0l); ellipse_set(3'r,4r,5r,0r); y4=y4r;
  110. ellipse_set(8l,7l,6l,0l); ellipse_set(8r,7r,6r,0r); y7=y7r;
  111. pos9(hair,180); lft x9r=hround(1/3w-.5hair); y9=good.y .5[y8,y0];
  112. filldraw stroke super_arc.e(3',4) & z4e{up}
  113.  ..z5e---z6e..z7e{up} & super_arc.e(7,8)...{down}z9e;  % main stroke
  114. penlabels(0,1,2,3,4,5,6,7,8,9,10,11); endchar;
  115.